#!/usr/bin/python

import sys, os, random, time
import struct

 
RELLENO=21     # 21  = 0x15 -> Relleno de 6 bits bajos de conversion
MARCA=170      # 170 = 0xAA -> Marca de final de serie
NUMCANALES=5   # Numero de canales que lee el medidor

fout = 0 
fin = 0

def EsRelleno(byte):
    return (byte & RELLENO == RELLENO)

def EsMarca(byte):
    return (byte & MARCA == MARCA)

def analizarTime():
#Suponemos que siempre ocupa dos bytes
    strdato=fin.read(1)
    time1 = int(hex(ord(strdato)).replace('0x', ''), 16)
    strdato=fin.read(1)
    time2 = int(hex(ord(strdato)).replace('0x', ''), 16)

    fout.write("time \n")


def main(fichero):
    global fin
    fin=open(fichero,'rb')
    global fout
    fout=open('AA3.txt', 'w')

#Situarse a la primera marca
    strdato=fin.read(1)

    ant_marca = False;
    encontrado = False;

    i=0
    while strdato!='':
        dato = int(hex(ord(strdato)).replace('0x', ''), 16)

        if EsMarca(dato):
            fout.write(str(i) + "\n")
            i=0
        else:
            i+=1
        strdato=fin.read(1)

    fin.close()
    fout.close()
    return 0
 
if __name__ == '__main__':
    if len(sys.argv)<2:
        print "Uso: test <nombre_fichero>"
    else:
        if os.path.isfile(sys.argv[1]) or sys.argv[1]=="/dev/ttyUSB0":
            main(sys.argv[1])
        else:
            print "El fichero no existe"

